package com.ruicar.afs.cloud.manage.outer.api.contractcancel.dto;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.ruicar.afs.cloud.common.core.entity.BaseEntity;
import com.ruicar.afs.cloud.common.modules.contract.enums.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author: Lee
 * @date 2020-06-19 01:56:19 
 * @description 合同取消记录表
 */
@Data
public class ManageCancelRecordClone extends BaseEntity<ManageCancelRecordClone> {
	/** 渠道id */
	@ApiModelProperty("渠道id")
	@JsonSerialize(using = ToStringSerializer.class)
	@JSONField(serializeUsing = com.alibaba.fastjson.serializer.ToStringSerializer.class)
	private Long channelId;
	/** 合同号码 */
	@ApiModelProperty("合同号码")
	private String contractNo;
	/** 案件编号 */
	@ApiModelProperty("案件编号")
	private String caseNo;
	/** 数据来源 枚举值：CMS、多品系统 */
	@ApiModelProperty("数据来源 枚举值：CMS、多品系统")
	private DataSourceEnum dataSource;
	/** 到账银行 */
	@ApiModelProperty("到账银行")
	private String accountBank;
	/** 到账金额 */
	@ApiModelProperty("到账金额")
	private BigDecimal amount;
	/** 到账时间 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("到账时间")
	private Date accountDate;
	/** 打款人姓名 */
	@ApiModelProperty("打款人姓名")
	private String payerName;
	/** 结余金额 */
	@ApiModelProperty("结余金额")
	private BigDecimal balanceAmt;
	/** 结余金额处理 放弃、收回 */
	@ApiModelProperty("结余金额处理 放弃、收回")
	private AmtHandleEnum amtHandle;
	/** 申请编号 */
	@ApiModelProperty("申请编号")
	private String applyNo;
	/** 客户姓名 */
	@ApiModelProperty("客户姓名")
	private String custName;
	/** 合同激活时间 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("合同激活时间")
	private Date startDate;
	/** 合同状态 枚举值：合同取消、合同生效、正常结清、提前结清、核销 */
	@ApiModelProperty("合同状态 枚举值：合同取消、合同生效、正常结清、提前结清、核销")
	private ContractStatusEnum contractStatus;
	/** 放款状态 */
	@ApiModelProperty("放款状态")
	private String creditStatus;
	/** 合作商全称 */
	@ApiModelProperty("合作商全称")
	private String channelFullName;
	/** 渠道类型 枚举值：合作商，直营车商 */
	@ApiModelProperty("渠道类型 枚举值：合作商，直营车商")
	private ChannelTypeEnum channelType;
	/** 业务来源 微信、合作商、业务人员、热线 */
	@ApiModelProperty("业务来源 微信、合作商、业务人员、热线")
	private BusinessSourceEnum businessSource;
	/** 备注 */
	@ApiModelProperty("备注")
	private String remarks;
	/** 申请时间 */
	@ApiModelProperty("申请时间")
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date applyDate;
	/** 结束时间 案件审批完成时间 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("结束时间 案件审批完成时间")
	private Date endDate;
	/** 处理状态 */
	@ApiModelProperty("处理状态")
	private ProcessStatusEnum processStatus;
}
